package com.yeyks.commonReference.service.mattress;

import com.yeyks.account.dal.domain.AccountInfo;
import com.yeyks.mattress.dal.domain.HotelMattressOverview;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.Map;


/**
 * <p>
 * 酒店床垫分成总览表 服务类
 * </p>
 *
 * @author yun
 * @since 2019-07-16
 */
public interface HotelMattressOverviewService extends IService<HotelMattressOverview> {

    /**
     * 获取酒店共享床垫账户
     *
     * @param hotelId
     * @return
     */
    HotelMattressOverview selectByHotelId(Integer hotelId);

    /**
     * 获取酒店共享床垫账户
     *
     * @param accountId
     * @param accountType
     * @return
     */
    HotelMattressOverview selectByAccountId(Integer accountId, Integer accountType);

    /**
     * 共享床垫订单
     *
     * @param accountId        账户id
     * @param accountType      账户类型
     * @param orderNo          订单号
     * @param totalAmount      订单总金额
     * @param commissionAmount 分成金额
     * @return
     */
    Boolean add(Integer accountId, Integer accountType, String orderNo, Integer totalAmount, Integer commissionAmount);

    /**
     * 提现申请被驳回或打款失败，账户金额回退
     *
     * @param orderNo 订单号
     * @param remark  备注
     * @return
     */
    Boolean add(String orderNo, String remark);

    /**
     * 酒店账户总览表减少(提现)
     *
     * @param accountId      账户id
     * @param operatorAmount 操作金额
     * @param orderNo        订单号
     * @return
     */
    Boolean desc(Integer accountId, Integer operatorAmount, String orderNo);

    /**
     * 获取床垫分佣账户余额
     *
     * @param loginUser
     * @return
     */
    Map<String, Object> remain(AccountInfo loginUser);
}
